package com.mida.dms.knw.mapper;

import com.mida.dms.knw.entity.KnwConceptualDetail;
import com.mida.dms.knw.entity.vo.KnwConceptualDetailPage;
import com.mida.dms.knw.entity.vo.KnwConceptualDetailVo;
import com.mida.dms.knw.entity.vo.MapperPage;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 概念描述dao
 *
 * @author conyfrommars
 */
public interface KnwConceptualDetailMapper extends BaseMapper<KnwConceptualDetail> {

	int countName(String conceptualDetailName);

	void updateKnwConceptualDetailAll(Long conceptualSoid);

	List<KnwConceptualDetailVo> findPageByDetail(KnwConceptualDetailPage npage);


    int countFsn(String conceptFsn);

    void deleteByConsuptSoid(long soid);

	int countPreferred(Long conceptualSoid);

	List<KnwConceptualDetail> selectRelation(@Param("idList") List<Long> idList);

	List<Long> getRelationIdList(Long noumenonSoid);

	int countConceptName(@Param("conceptualDetailName") String conceptualDetailName, @Param("conceptSoid") long conceptSoid);

//	KnwConceptualDetail selectDetail(Long conceptualSoid);

    List<KnwConceptualDetail> selectAll(@Param("searchData") String searchData);

	List<KnwConceptualDetail> selectSlotNameByCode(MapperPage page);

	int countTypeFsn(@Param("conceptualSoid") Long conceptualSoid, @Param("conceptualdetailtype") Long conceptualdetailtype);

	List<String> getConceptualDetailNames() throws Exception;

	List<KnwConceptualDetail> findAllByConceptSoid(@Param("conceptualSoid") Long conceptualSoid);

	KnwConceptualDetail findByConceptualDetailSoid(@Param("conceptualDetailSoid") Long conceptualDetailSoid);
}